﻿using System;
using System.Drawing;
using System.Windows.Forms;
using SomaiNordeste.FabricaRacao.DomainModel.Repository;
using SomaiNordeste.FabricaRacao.DomainModel;

namespace SomaiNordeste.FabricaRacao.Presentation
{
	
	public partial class frmInsumoCadastro : Form
	{
        private BatidaRepository _batidaRepository;
        private Batida _batida;

        public frmInsumoCadastro()
		{
			InitializeComponent();
            _batidaRepository = new BatidaRepository();
		}

        public frmInsumoCadastro(Batida batida)
        {
            _batida = batida;
        }

        private void frmBatidaCadastro_Load(object sender, EventArgs e)
        {
            
        }

        private void date_ValueChanged(object sender, EventArgs e)
        {
            CarregaBadidasDoDia(date.Value);
        }

        private void cmbRacao_SelectedIndexChanged(object sender, EventArgs e)
        {
            Batida batida = new Batida();
            batida = ((Batida)cmbRacao.SelectedValue);
            if (cmbRacao.SelectedIndex > 0)
                grdRacao.DataSource = _batidaRepository.GetLastBeat(batida, date.Value).DefaultView;
        }

        private void btnBatida_Click(object sender, EventArgs e)
        {
            try
            {
                Batida batida = new Batida();
                batida = ((Batida)cmbRacao.SelectedValue);
                batida.BatidaN = Convert.ToInt32(txtBatida.Text);
                batida.KG_Total = Convert.ToDouble(txtPeso.Text);
                batida.Batida_Diaria += 1;

                _batidaRepository.Save(batida);
                MessageBox.Show("Batida salva com sucesso!", "Atenção");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro: " + ex.Message, "Atenção");
            }
        }
        
        private void CarregaBadidasDoDia(DateTime date)
        {
            cmbRacao.DataSource = _batidaRepository.FindBy(date);
            cmbRacao.DisplayMember = "Descricao";
        }
      
	}
}
